<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:c="http://java.sun.com/jsp/jstl/core">

    <body>

        <ui:composition template="./../../WEB-INF/templates/MainTemplate.xhtml">

            <ui:define name="content">
                <h:form id="estadoPedidoForm">
                    <p:growl autoUpdate="true" life="4000" id="estadoPedidoGrowl"></p:growl>
                    <p:panel styleClass="noBorder noPadding noMargin" id="estadoDatosPedidoPanel">
                        <p:panelGrid styleClass="noBorder noPadding noMargin" columns="8">
                            <p:outputLabel for="estadoCliente" value="#{messages.Cliente}"></p:outputLabel>
                            <h:outputText id="estadoCliente" value="#{estadoPedidoBean.pedido.cliente.nombre}"></h:outputText>
                            
                            <p:outputLabel for="estadoFormaPago" value="#{messages.FormaPago}"></p:outputLabel>
                            <h:outputText id="estadoFormaPago" value="#{estadoPedidoBean.pedido.formaPago.descripcion}"></h:outputText>
                            
                            <p:outputLabel for="estadoResto" value="#{messages.Resto}"></p:outputLabel>
                            <h:outputText id="estadoResto" value="#{estadoPedidoBean.pedido.resto.descripcion}"></h:outputText>
                            
                            <p:outputLabel for="estadoEstado" value="#{messages.Estado}"></p:outputLabel>
                            <h:outputText id="estadoEstado" value="#{estadoPedidoBean.pedido.estado.descripcion}"></h:outputText>
                            
                            <p:outputLabel for="estadoDescuento" value="#{messages.Descuento}"></p:outputLabel>
                            <h:outputText id="estadoDescuento" value="#{estadoPedidoBean.pedido.descuento}"></h:outputText>
                            
                            <p:outputLabel for="estadoAdelanto" value="#{messages.Adelanto}"></p:outputLabel>
                            <h:outputText id="estadoAdelanto" value="#{estadoPedidoBean.pedido.adelanto}"></h:outputText>

                            <p:outputLabel for="estadoFechaEntrega" value="#{messages.FechaEntrega}"></p:outputLabel>
                            <h:outputText value="#{estadoPedidoBean.pedido.fechaEntrega}" id="estadoFechaEntrega">
                                <f:convertDateTime pattern="dd/mm/yyyy"></f:convertDateTime>
                            </h:outputText>
                            
                            <p:outputLabel for="estadoFechaFinEntrega" value="#{messages.FechaFinEntrega}"></p:outputLabel>
                            <h:outputText value="#{estadoPedidoBean.pedido.fechaFinEntrega}" id="estadoFechaFinEntrega">
                                <f:convertDateTime pattern="dd/mm/yyyy"></f:convertDateTime>
                            </h:outputText>

                            <p:outputLabel for="estadoContacto" value="#{messages.Contacto}"></p:outputLabel>
                            <h:outputText id="estadoContacto" value="#{estadoPedidoBean.pedido.contacto}"></h:outputText>
                            
                            <p:outputLabel for="estadoACuenta" value="#{messages.ACuenta}"></p:outputLabel>
                            <h:outputText id="estadoACuenta" value="#{estadoPedidoBean.pedido.entregadoACuenta}"></h:outputText>

                            <p:outputLabel for="estadoPorte" value="#{messages.Porte}"></p:outputLabel>
                            <h:outputText id="estadoPorte" value="#{estadoPedidoBean.pedido.precioPorte}"></h:outputText>
                            
                            <p:outputLabel for="estadoComentarios" value="#{messages.Comentarios}"></p:outputLabel>
                            <h:outputText id="estadoComentarios" value="#{estadoPedidoBean.pedido.comentarios}"></h:outputText>
                        </p:panelGrid>
                    </p:panel>
                    <p:panel styleClass="noMargin noPadding noBorder" id="panelProductosElegidos">                        
                        <f:facet name="header">
                            #{messages.ProductosPedido}
                        </f:facet>
                        <c:forEach items="#{estadoPedidoBean.tablaPedidoDataModel.CDePedido}" var="c">
                            <p:panel styleClass="noMargin noPadding noBorder">
                                <f:facet name="header" >
                                    #{c.descripcion}. Pedidas: #{estadoPedidoBean.tablaPedidoDataModel.consultarUnidadesDePedidoDeC(c)} Servidas: #{estadoPedidoBean.recuperarCantidadServidaDeC(c)} Restan: #{estadoPedidoBean.tablaPedidoDataModel.consultarUnidadesDePedidoDeC(c)-estadoPedidoBean.recuperarCantidadServidaDeC(c)} | Subtotal #{c.descripcion}: #{estadoPedidoBean.tablaPedidoDataModel.consultarTotalDePedidoDeC(c)} €
                                </f:facet>
                                
                                <c:forEach items="#{estadoPedidoBean.tablaPedidoDataModel.getSeriesTallajeDePedidoYC(c)}" var="serieTallaje">
                                    <p:panel styleClass="noMargin noPadding noBorder">
                                        <p:dataTable rowIndexVar="indexProducto" styleClass="noMargin noPadding noBorder" var="producto" value="#{estadoPedidoBean.tablaPedidoDataModel.getTodosProductosDePedidoSerieTallajeYC(c, serieTallaje)}">
                                            <p:column style="width:160px;" headerText="#{messages.Producto}">#{producto.descripcion}</p:column>
                                            <p:column style="width:90px;" headerText="#{messages.Color}">#{producto.color}</p:column>
                                            <p:column style="width:40px;" headerText="#{messages.Pvp}">#{producto.pvp}</p:column>
                                            <p:column style="width:40px;" headerText="#{messages.Coste}">#{producto.pvp.doubleValue()/estadoPedidoBean.pedido.cliente.multiplicador.doubleValue()}</p:column>
                                            <p:columns styleClass="center" columnIndexVar="index" value="#{serieTallaje.tallaSerieTallajeList}" var="tallaSerieTallaje">
                                                <f:facet name="header">
                                                    <p:panelGrid columns="3" styleClass="greyHeader noSidePaddingCell">
                                                        <h:outputText value=""></h:outputText>
                                                        <h:outputText value="#{tallaSerieTallaje.talla.descripcion}"></h:outputText>
                                                        <h:outputText value=""></h:outputText>
                                                        <h:outputText value="#{messages.P}"></h:outputText>
                                                    <h:outputText value="#{messages.S}"></h:outputText>
                                                    <h:outputText value="#{messages.R}"></h:outputText>
                                                    </p:panelGrid>
                                                </f:facet>
                                                <p:panelGrid rendered="#{estadoPedidoBean.recuperarCantidadPedidaDeProductoTalla(producto, serieTallaje.getTallaSerieTallajeList()[index].talla)!=null}" columns="3" styleClass="noMargin noPadding noBorder noSidePaddingCell #{indexProducto%2>0 ? 'greyRow' : ''}">
                                                    <h:outputText value="#{estadoPedidoBean.recuperarCantidadPedidaDeProductoTalla(producto, serieTallaje.getTallaSerieTallajeList()[index].talla)}"></h:outputText>
                                                    <h:outputText value="#{estadoPedidoBean.recuperarCantidadServidaDeProductoTalla(producto, serieTallaje.getTallaSerieTallajeList()[index].talla)}"></h:outputText>
                                                    <h:outputText value="#{estadoPedidoBean.recuperarCantidadPedidaDeProductoTalla(producto, serieTallaje.getTallaSerieTallajeList()[index].talla)-estadoPedidoBean.recuperarCantidadServidaDeProductoTalla(producto, serieTallaje.getTallaSerieTallajeList()[index].talla)}"></h:outputText>
                                                </p:panelGrid>
                                            </p:columns>
                                        </p:dataTable>
                                    </p:panel>
                                </c:forEach>
                                <f:facet name="header">  
                                    Unidades #{c.descripcion}: #{estadoPedidoBean.tablaPedidoDataModel.consultarUnidadesDePedidoDeC(c)} | Subtotal #{c.descripcion}: #{estadoPedidoBean.tablaPedidoDataModel.consultarTotalDePedidoDeC(c)} #{estadoPedidoBean.pedido.cliente.paisFiscal.signoMoneda}
                                </f:facet>
                            </p:panel>
                        </c:forEach>
                        <f:facet name="header">  
                            Unidades Pedidas: #{estadoPedidoBean.pedido.unidades} Servidas: #{estadoPedidoBean.pedido.unidadesServidas} Restan: #{estadoPedidoBean.pedido.unidades-estadoPedidoBean.pedido.unidadesServidas}  | Total: #{listadoPedidosBean.getTotal(estadoPedidoBean.pedido)} €
                        </f:facet> 
                    </p:panel>
                </h:form>
            </ui:define>
        </ui:composition>
    </body>
</html>
